Identifying media on a mobile device

ABSTRACT

Disclosed is a method of associating, at a secondary device, secondary media content with primary media content being output at a primary device. The method includes receiving, at the secondary device, first information based upon the primary content being output at the primary device, wherein the first information includes at least one of an audio and a visual signal, determining at the secondary device second information corresponding to the first information, receiving at the secondary device one or more portions of secondary media content that have been made available by a third device, determining at the secondary device whether one or more of the portions of the secondary media content match one or more portions of the second information, and taking at least one further action upon determining that there is a match.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/102,241, filed Aug. 13, 2018, which is a continuation of U.S. patentapplication Ser. No. 15/456,179, filed Mar. 10, 2017, which is acontinuation of U.S. patent application Ser. No. 13/533,247, filed Jun.26, 2012, each of which is hereby incorporated by reference herein inits entirety.

TECHNICAL FIELD

The present invention is related generally to identifying media contentand, more particularly, to identifying data signatures associated withmedia content.

BACKGROUND

With the advent of mobile devices, there has arisen an opportunity for aviewer of media content on one media device, such as a television, toutilize a mobile device to obtain additional information related to themedia content being viewed. At least some conventional arrangementsemploy a “feedback-based process” in which a mobile device obtains asample of the media content output by the media device, uploads thesample to a server that compares the sample to all recorded mediachannels to identify the media content being viewed, and then ultimatelyreceives back from the server pertinent additional information relatedto the media content being viewed. When countless mobile-device usersare simultaneously using such an identification service, the server canbe overloaded with requests, resulting in slow response and a potentialdisruption of the service.

BRIEF DESCRIPTION OF THE DRAWINGS

While the appended claims set forth the features of the presentinvention with particularity, the invention, together with its objectsand advantages, may be best understood from the following detaileddescription taken in conjunction with the accompanying drawings ofwhich:

FIG. 1 is a block diagram of an exemplary communication system in whichthe present invention may be practiced;

FIG. 2 is a block diagram showing exemplary internal hardware componentsof a secondary device of FIG. 1;

FIG. 3 is a flowchart of an exemplary user request-based method forobtaining secondary media content on a secondary device using thecommunication system of FIG. 1; and

FIG. 4 is a flowchart of an exemplary broadcast-oriented method forobtaining secondary media content on a secondary device using thecommunication system of FIG. 1.

DETAILED DESCRIPTION

Turning to the drawings, wherein like reference numerals refer to likeelements, the invention is illustrated as being implemented in asuitable environment. The following description is based on embodimentsof the invention and should not be taken as limiting the invention withregard to alternative embodiments that are not explicitly describedherein.

According to aspects of the present disclosure, secondary media contentis associated with primary media content being output at a primarydevice. An exemplary method includes receiving, at a secondary device,first information based upon the primary content being output at theprimary device, wherein the first information includes at least one ofan audio and a visual signal, determining at the secondary device secondinformation corresponding to the first information, receiving at thesecondary device one or more portions of secondary media content thathave been made available by a third device, determining at the secondarydevice whether one or more of the portions of the secondary mediacontent match one or more portions of the second information, and takingat least one further action upon determining that there is a match.

In another aspect, a mobile device includes a memory device configuredto store one or more portions of a data signature generated based uponone or more portions of primary content being output by an additionaldevice distinct from the mobile device, a wireless transceiverconfigured to receive communication signals originating at a servercomputer, the communication signals including one or more portions ofsecondary media content, and a processing device coupled at leastindirectly to each of the memory device and the wireless transceiver,the processing device configured to determine whether the one or moreportions of the secondary media content match one or more portions ofthe data signature, wherein the mobile device is further configured totake at least one action upon determining that there is a match.

In still another aspect, secondary media content is associated withprimary media content being output at a primary device. An exemplarymethod includes obtaining at least one of a primary device and asecondary device a media sample related to primary content being viewedon the primary device, generating one or more data signatures from themedia sample at the at least one of the primary device and the secondarydevice, transmitting a request to a server to receive secondary mediacontent that includes one or more signature chunks derived from theprimary media content, and determining, at the at least one of theprimary device and the secondary device, whether the one or more datasignatures match one or more media signatures within the one or moresignature chunks, wherein the at least one of the primary device and thesecondary device is further configured to take at least one action upondetermining that there is a match.

In FIG. 1, an exemplary communication system 100 is provided. In atleast some embodiments, the communication system 100 is configured toprovide a method for obtaining supplemental information related toviewable media content. The communication system 100 includes a mediasource 102, a primary device 104, a server device 106, and a secondarydevice, such as a mobile device 108. The exemplary media source 102 isintended to be representative of any of one or more of various sourcesof media content 110, such as cable television channels, satellitetelevision channels, Internet video channel feeds, etc., whichcommunicate programming, such as television stations, Internet websites,content-provider websites (which can include social networkingwebsites), etc. The media source 102 communicates the media content 110via a communication link 105 to one or more primary devices 104, such asa television set or set-top box used in conjunction with a televisionmonitor. The media content 110 is displayed as primary media content 112for viewing by a user.

The media source 102 communicates the media content 110 to the server106 via communication link 115. In at least some embodiments, the mediacontent 110 communicated to the server 106 is used by the server 106 togenerate secondary media content 113. In at least some otherembodiments, the secondary media content 113 can be derived at, orobtained by, a second server (not shown) and communicated to the server106. The secondary media content 113 includes a signature feed 125 witha plurality of media signatures 128, along with associatedprogram-identification data.

The exemplary server 106 can include one or more of various componentscapable of receiving the media content 110, of extracting secondarymedia content 113 from the received media content 110, if not alreadyextracted, of storing the secondary media content 113, and ofcommunicating at least a portion of the secondary media content 113 tothe mobile device 108. More particularly, as shown in FIG. 1, the server106 includes a memory portion 114, a processor portion 116 incommunication with the memory portion 114, and one or more input/outputinterfaces (not shown) for interfacing communication links 115, 117 withthe processor portion 116. The processor portion 116 further includes aback-end portion 118 (or Media Content Processor) and a front-endportion 120. The back-end portion 118 communicates with the one or moremedia sources 102 via the communication link 115, and the front-endportion 120 communicates with the mobile device 108 via thecommunication link 117. The memory portion 114 can include various typesof storage mediums, such as Random-Access Memory, Read-Only Memory, harddrives, disc drives, etc., capable of storing programs for executing thenecessary functions of the server 106, as well as the secondary mediacontent 113. Communication between components in the communicationsystem 100 can include both wired and wireless technologies. Althoughsome exemplary communication links have been illustrated in FIG. 1,various other communication links can exist utilizing both wired andwireless connections.

In at least some embodiments, the front-end portion 120 supports pullcommunications with the mobile device 108. The pull communications can,for example, be implemented using Representation State Transferarchitecture of the type typical to the web, and as such, the front-endportion 120 is configured to receive requests for information to beprovided to the mobile device 108 at times and circumstances determinedby the mobile device 108, in response to which the server 106 searchesfor and provides requested secondary media content 113, as discussedbelow. Also, as discussed in further detail below, in at least someembodiments the front-end portion 120 establishes a push channel inconjunction with the mobile device 108.

In at least some such embodiments, the push channel provides mediasignatures 128 from the server 106 (generated by the front-end portion120) to the mobile device 108 at times and circumstances that can bedetermined by the server 106. The push channel can operate in a varietyof push modes, such as broadcast mode and multicast mode. Moreparticularly, broadcast mode can include for example, a televisionbroadcast spectrum, a broadcast service on a cellular network (e.g.,Multimedia Broadcast Multicast Services), and a portion of the capacityof a cable TV system. In the case of multicast mode, the mobile devicewould need to request to join a multicast group in order to receive amulticast stream, such as one generated by an Internet Protocoltelevision (IPTV) system through which television services are deliveredusing an Internet protocol suite over a packet-switched network (e.g.,the Internet). Multicast streams can also be generated in the absence ofor outside of an IPTV system. Both push modes can be operated usingwired or wireless communication.

FIG. 2 is a block diagram illustrating exemplary internal components 200of a mobile device, such as the mobile device 108, in accordance withthe present embodiment. As shown in FIG. 2, the components 200 includeone or more wireless transceivers 202, a processor portion 204 (e.g., amicroprocessor, microcomputer, application-specific integrated circuit,etc.), a memory portion 206, one or more output devices 208, and one ormore input devices 210. In at least some embodiments, a user interfaceis present that comprises one or more output devices 208, such as adisplay, and one or more input device 210, such as a keypad or touchsensor. The internal components 200 can further include a componentinterface 212 to provide a direct connection to auxiliary components oraccessories for additional or enhanced functionality. The internalcomponents 200 preferably also include a power supply 214, such as abattery, for providing power to the other internal components whileenabling the mobile device 108 to be portable. All of the internalcomponents 200 can be coupled to one another, and in communication withone another, by way of one or more internal communication links 232(e.g., an internal bus).

In the present embodiment of FIG. 2, the wireless transceivers 202particularly include a cellular transceiver 203 and a Wi-Fi transceiver205. More particularly, the cellular transceiver 203 is configured toconduct cellular communications, such as 3G, 4G, 4G-LTE, etc., vis-á-viscell towers (not shown), albeit in other embodiments, the cellulartransceiver 203 can be configured instead or additionally to utilize anyof a variety of other cellular-based communication technologies such asanalog communications (using AMPS), digital communications (using CDMA,TDMA, GSM, iDEN, GPRS, EDGE, etc.), or next generation communications(using UMTS, WCDMA, LTE, IEEE 802.16, etc.), or variants thereof.

By contrast, the Wi-Fi transceiver 205 is a wireless local area network(WLAN) transceiver 205 configured to conduct Wi-Fi communications inaccordance with the IEEE 802.11 (a, b, g, or n) standard with accesspoints. In other embodiments, the Wi-Fi transceiver 205 can instead (orin addition) conduct other types of communications commonly understoodas being encompassed within Wi-Fi communications such as some types ofpeer-to-peer (e.g., Wi-Fi Peer-to-Peer) communications. Further, inother embodiments, the Wi-Fi transceiver 205 can be replaced orsupplemented with one or more other wireless transceivers configured fornon-cellular wireless communications including, for example, wirelesstransceivers employing ad hoc communication technologies such as HomeRF(radio frequency), Home Node B (3G femtocell), Bluetooth, or otherwireless communication technologies such as infrared technology. Thus,although in the present embodiment the mobile device 108 has two of thewireless transceivers 203 and 205, the present disclosure is intended toencompass numerous embodiments in which any arbitrary number of wirelesstransceivers employing any arbitrary number of communicationtechnologies are present.

Exemplary operation of the wireless transceivers 202 in conjunction withothers of the internal components 200 of the mobile device 108 can takea variety of forms and can include, for example, operation in which,upon reception of wireless signals, the internal components 200 detectcommunication signals and the transceiver 202 demodulates thecommunication signals to recover incoming information, such as voice ordata, transmitted by the wireless signals. After receiving the incominginformation from the transceiver 202, the processor 204 formats theincoming information for the one or more output devices 208. Likewise,for transmission of wireless signals, the processor 204 formats outgoinginformation, which may or may not be activated by the input devices 210,and conveys the outgoing information to one or more of the wirelesstransceivers 202 for modulation to communication signals. The wirelesstransceivers 202 convey the modulated signals by way of wireless and(possibly wired as well) communication links to other devices such asthe server 106 and one or more of the content provider websites 102 (aswell as possibly to other devices such as a cell tower, access point, oranother server, or any of a variety of remote devices).

Depending upon the embodiment, the input and output devices 208, 210 ofthe internal components 200 can include a variety of visual, audio, ormechanical outputs. For example, the output devices 208 can include oneor more visual-output devices 216 such as a liquid-crystal display andlight-emitting diode indicator, one or more audio-output devices 218such as a speaker, alarm, or buzzer, or one or more mechanical-outputdevices 220 such as a vibrating mechanism. The visual output devices 216can include, among other things, a video screen. Likewise, by example,the input devices 210 can include one or more visual-input devices 222such as an optical sensor (for example, a camera 227), one or moreaudio-input devices 224 such as a microphone 225, and one or moremechanical-input devices 226 such as a flip sensor, keyboard, keypad,selection button, navigation cluster, touch pad, touchscreen, capacitivesensor, motion sensor, and switch. Actions that can actuate one or moreof the input devices 210 can include not only the physical actuation ofbuttons or other actuators, but can also include, for example, openingthe mobile device 108 (if it can take on open or closed positions),unlocking the device 108, moving the device 108 to actuate a motion,moving the device 108 to actuate a location-positioning system, andoperating the device 108.

As shown in FIG. 2, the internal components 200 of the mobile device 108also can include one or more of various types of sensors 228. Thesensors 228 can include, for example, proximity sensors (alight-detecting sensor, an ultrasound transceiver, or an infraredtransceiver), touch sensors, altitude sensors, a location circuit thatcan include, for example, a Global Positioning System receiver, atriangulation receiver, an accelerometer, a tilt sensor, a gyroscope, orany other information-collecting device that can identify a currentlocation or user-device interface (carry mode) of the mobile device 108.Although the sensors 228 are for the purposes of FIG. 2 considered to bedistinct from the input devices 210, in other embodiments it is possiblethat one or more of the input devices 210 can also be considered toconstitute one or more of the sensors 228 (and vice-versa).Additionally, even though in the present embodiment the input devices210 are shown to be distinct from the output devices 208, it should berecognized that in some embodiments one or more devices serve both asinput devices 210 and output devices 208. For example, in embodimentswhere a touchscreen is employed, the touchscreen can be considered toconstitute both a visual-output device 216 and a mechanical-input device226.

The memory portion 206 of the internal components 200 can encompass oneor more memory devices of any of a variety of forms (e.g., read-onlymemory, random-access memory, static random-access memory, dynamicrandom-access memory, etc.) and can be used by the processor 204 tostore and retrieve data. In some embodiments, the memory portion 206 canbe integrated with the processor portion 204 in a single device (e.g., aprocessing device including memory or processor-in-memory), albeit sucha single device will still typically have distinct sections that performthe different processing and memory functions and that can be consideredseparate devices.

The data that are stored by the memory portion 206 can include, but neednot be limited to, operating systems, applications, and informationaldata. Each operating system includes executable code that controls basicfunctions of the communication device 108, such as interaction among thevarious components included among the internal components 200,communication with external devices via the wireless transceivers 202 orwith the component interface 212, and storage and retrieval ofapplications and data to and from the memory portion 206. Eachapplication includes executable code that utilizes an operating systemto provide more specific functionality for the communication device 108,such as file system service and handling of protected and unprotecteddata stored in the memory portion 206. Informational data arenon-executable code or information that can be referenced or manipulatedby an operating system or application for performing functions of thecommunication device 108.

Referring to FIG. 1 again, utilizing the aforementioned components ofthe communication system 100, a user of the mobile device 108 can accessthe server 106 to obtain secondary media content 113 related to themedia content 110, which can be primary media content 112 viewed on theprimary device 104, as well as other information available for multipleprograms and channels not being viewed. As discussed above, thesecondary media content 113 includes the signature feed 125 whichprovides one or more media signatures 128. The media signatures 128 caninclude data structures 129 (e.g., metadata or metadata portions)generated from an audio or video segment or image which are at leastpartially representative of programs broadcast on a channel over time.The data structures 129 can include visual or audio data identifiersassociated with each program. To provide a sampling of the signaturefeed 125, the signature feed 125 can be time-segmented to form signaturechunks 126. A signature chunk 126 includes an aggregation of mediasignatures 128 for one or more periods of time. The exemplary signaturefeed 125 illustrated in FIG. 1 includes a plurality of media signatures128 each representing a program or channel. As shown, a signature chunk126 is indicated that includes media signatures 128 derived from one ormore programs within a particular time interval, such as between time tand time t−Δ. In this regard, the signature chunk 126 includes timespecific data structures for each included channel (program). The timevariable Δ can be chosen based on various criteria, such as availabledata compression, bandwidth capabilities, desired response speed, etc.For example, choosing a small value for Δ such as a few seconds makesthe number of media signatures 128 in the signature chunk 126 smaller,thus reducing the needed bandwidth for communicating the signature chunk126 to the mobile device 108. In another example, the time variable Δcan be based on a maximum amount of delay that is supported for thematching process. For example, assuming Δ=20 minutes, the user couldpause the program on the primary device 104 (e.g., a DVR) for up to 20minutes and still be able to obtain a match when playback is resumed. Inanother example, the time variable Δ can be chosen small enough that thesignature chunk 126 effectively contains a media signature 128 only fora specific point in time.

The media signatures 128 chosen for inclusion in a particular signaturechunk 126 can be selected based on numerous available criteria and basedon a prioritization scheme (that can be programmed at the server 106, atthe mobile device 108, or elsewhere). For example, the signature chunk126 can include portions of media signatures 128 for each channel beingbroadcast, or only for the channels frequently watched by the user, orfor specific genres (e.g., sports, sitcoms, movies, etc.). In addition,the signature chunk 126 can include portions of media signatures 128that are selected based on non-user-specific criteria, such as channelsbroadcasting programs that are ranked with the highest relativepopularity rating. Further, the prioritization scheme can take intoaccount various other criteria not discussed. Additionally, each of thesignature chunks 126 can include other information for one or morechannels that coincides with the channels represented by the mediasignatures 128 captured in the signature chunk 126. By selecting more orfewer media signatures and shorter or longer periods, the signaturechunks 126 can be varied in size and quantity for a particular timeperiod. In some embodiments, the signature chunks 126 can include allavailable broadcast channels over a short period of time, while in otherembodiments, they can include a limited sampling of channels but over alonger period of time, as well as variations of both time period andchannel quantity.

As additionally shown in FIG. 1, the mobile device 108 includes a clientapplication 132 that is intended to be representative of a variety ofclient applications performing the same or similar functions on any ofvarious types of mobile devices 108, such as mobile phones, tablets,laptops, etc. The client application 132 is a software program thatoperates on the processor portion 204 and is particularly configured toprovide an interface between the mobile device 108 and one or moreothers of the components of the communication system 100. In addition,the client application 132 governs operation of one or more of the inputand output devices 210, 208 (e.g., camera 227, touchscreen, etc.) toprovide a visual interface (not shown) that allows a user to initiate auser request-based method for obtaining portions of secondary mediacontent 113 on a secondary device (as discussed in further detail withreference to FIGS. 3 and 4). The client application 132 can takenumerous forms and, depending on the embodiment, be configured tooperate on, and communicate with, various operating systems and devices.It is to be understood that various processes described herein asperformed by the mobile device 108 can be occurring on the clientapplication 132 in particular or on other applications depending on theembodiment.

By utilizing the mobile device 108 with the client application 132, auser can obtain a media sample 134 from the primary media content 112viewable on the primary device 104 and generate a data signature 130from it. It should be noted that generally a data signature 130 containsthe same type of information included in a media signature, although itis derived from a different source. The media sample 134 can include avideo or audio sample obtained with one or more input devices 210 of themobile device 108. For example, the user can utilize one of the audioinput devices 224 (e.g., the microphone 225) to obtain an audio sampleof the program. Alternatively, or additionally, the user can utilize oneof the visual input devices 222 (e.g., the camera 227) to take a digitalphoto (snapshot) of a program displayed on the primary device 104. Theclient application 132 analyzes the media sample 134 to generate one ormore data signatures 130. At least one method for generating datasignatures is known in the art. For example, a data signature for anaudio signal can be based on collecting and encoding information aboutthe times and frequencies of peaks in a spectrogram of a short segmentof an audio signal.

Before or after the data signature 130 has been generated, a request issent to the server 106 for one or more portions of the secondary mediacontent 113 that may correspond to the data signature 130. The secondarymedia content 113 is provided to the mobile device 108 in the form ofone or more of the signature chunks 126, which can be searched to find amatch (e.g., a similar signature) for the data signature 130. Inaddition, the signature chunk 126 can include program ID data for theprogram that the signature chunk 126 is derived from. The program IDdata can include various informational components, such as a programname, a number related to the specific program name or episode, etc.Upon a successful match, various informational components can beprovided to the user of the mobile device 108, such as the program IDdata, as well as any other associated information related, at leastindirectly, to the data signature 130, possibly includingtime-into-program information. In addition, the client application 132can communicate the identity of the program being viewed and the relatedinformation to the server 106 or to a second server (not shown), such asa third-party server. Although the server 106 can provide the signaturechunks 126, once the program being viewed has been identified by theclient application 132, the identity of the program and the relatedinformation can be withheld from the server 106, in order to maintainthe privacy of the user. Instead, the program identity and the relatedinformation can be sent to a second server not affiliated with theserver 106, which allows the second server to provide services that arerelated to the program that was identified in the program ID data,without disclosing the private viewing choices of the user to the server106. In this regard, a user can potentially choose which source hewishes to use to identify programs and which source he wishes to use toobtain additional program-related information.

Referring now to FIG. 3, a flowchart 300 is provided that shows anexemplary user request-based method, which can be performed by one morecomponents of the communication system 100 of FIG. 1, for obtaining oneor more portions of the secondary media content on a mobile device 108.More particularly, as shown, the method begins at step 302, in which theserver 106 obtains and stores one or more signature chunks 126 formultiple live channels broadcasting the media content 110, along withother associated program identification data. The client application 132is started on the mobile device 108 in step 304, and one or more of theinput devices 210 of the mobile device 108 are utilized to capture oneor more media samples 134 from a program (a portion of the primary mediacontent 112) being viewed on the primary device 104. In step 306, theclient application 132 generates one or more data signatures 130 byanalyzing the media sample 134. In at least some embodiments, the actionof obtaining the media sample 134 on the mobile device 108 can initiatethe starting of the client application 132 and the generation of thedata signature 130.

After obtaining the data signature 130, in step 308 the clientapplication 132 communicates a request (e.g., HTTP GET request) to theserver 106 to begin sending signature chunks 126. Alternatively, therequest can occur before or simultaneous with obtaining data signatures130 (e.g., triggered by the action of obtaining the media sample 134 orthe starting of the client application 132). The request for signaturechunks 126 can include a specific media time window to inform the server106 of the time period for which the media sample 134 was obtained. Theinclusion of the media time window allows the server 106 to utilize theprioritization scheme (discussed above) to narrow the scope of thesignature chunks 126 to a time period that would likely contain a matchfor the data signature 130. In at least some embodiments, the media timewindow defaults to a time period in close proximity to the time therequest is received at the server 106, while in other embodiments,alternate methods of selecting a time period, or no time period at all,are provided. One exemplary method of determining the media time windowincludes the mobile device 108 notifying the server 106 to start mediasignature generation at t0 (e.g., when the camera 227 is turned on),then a snapshot is taken at t, and the data signature 130 is generatedat t+α. The mobile device 108 then requests signature chunks 126 at t+α,and the server 106 delivers signature chunks 126 containing portions ofmedia signatures 128 for the time period t0 to t+α.

The server 106 receives the request for signature chunks 126 in step 310and begins sending one or more signature chunks 126, along withassociated program identification data, to the mobile device 108 in step312. The mobile device 108 receives the one or more signature chunks 126with program data for the specified media time window from the server106 in step 314. In addition, upon receipt of at least one signaturechunk 126, the mobile device 108 begins the attempt to match theportions of each media signature 128 in the signature chunk 126 with thedata signature 130. In step 316, if a match is found, then the processmoves to step 318, where the mobile device 108 signals to the server 106to stop sending signature chunks 126.

If in the step 316 a match was not found from the first analyzedsignature chunk 126, then in step 320 it is determined if additionalsignature chunks 126 have been received. If no more signature chunks 126are available to be analyzed, then the process moves to step 322 wherethe mobile device 108 provides an indication that no match was found.From step 318 and step 322, the process can terminate at a step 324.Optionally, the process could return to step 314 periodically to receiveadditional signature chunks 126 that can be available later.Alternatively or additionally, the process could return to step 304where a request is provided to the user of the mobile device 108 toobtain an updated data signature 130 and repeat the process.

Returning to step 312, regarding the transmission of signature chunks126 from the server 106 to the mobile device 108, the selection andquantity of signature chunks 126 for transmission to the mobile device108, as well as the frequency, can vary substantially based on numerouschosen criteria. Such criteria can be included at least in part in theprioritization scheme. For example, the signature chunks 126 can be sentperiodically until a match is found at the mobile device 108 and asignal is received from the mobile device 108 to cease transmission(step 318). At step 326, the server 106 can check if any unsentsignature chunks 126 are available. If not, then the process on theserver side can terminate at step 330. If additional signature chunks126 are determined to be available, then the process continues to step328. In step 328, the server 106 checks if a request from the mobiledevice 108 has been received to stop sending signature chunks 126. If arequest has been received, then the process terminates at step 330. Ifthe server 106 has not received a request from the mobile device 108 tocease sending signature chunks 126, then the process can return to step312. Although not shown in the flowchart 300, a service tied to theprogram that is identified with the data signature 130 can be launchedon the mobile device 108 upon the determination of a match. For example,program identification information obtained by the match can beautomatically or selectively chosen (by the user) for communication to aseparate entity (e.g., a web-server) (not shown), which could bead-based, information-based, channel-based, network-based, etc.

In order to reduce the processing load on the server 106, the server 106can wait to obtain secondary media content 113, or at least wait toderive the signature chunks 126, until activation of the clientapplication 132 has been detected, wherein activation of the clientapplication 132 initiates an activation command to the server 106. Usingthis method, the signature chunks 126 generated can be tailored to theuser, as even nominal information can be provided along with theactivation command, such as time, geographic location, preferences,prioritization scheme, etc. Referring to FIG. 4, a flowchart 400 isprovided that shows another exemplary method, which can be performed byone more components of the communication system 100 of FIG. 1, forobtaining one or more portions of the secondary media content on amobile device 108. Various modifications or additions to the stepsdiscussed above with reference to flowchart 300 can be included asmodifications or additions to the steps below, including utilizingprioritizing schemes. Flowchart 400 can differ from the userrequest-based method above in various ways. For example, in place oftransmitting one or more signature chunks 126 only upon request and onlyfor a specified media time window, the server 106 can push (e.g.,broadcast) a stream of signature chunks 126 (with associatedidentification program data) that represent each live channel (mediacontent 110) in prioritized channel order, for successive media timewindows. More particularly, an exemplary broadcast stream of signaturechunks 126 can include media signatures 128 derived from a first programwithin the interval of time=t (e.g., the present time) through time=t−Δ,media signatures 128 derived from a second program within the intervalof time=t through time=t−Δ, and so on. Signature chunks 126 may alsoinclude media signatures 128 derived from one or more programs withinother time intervals, such as media signatures 128 derived from thesecond program within the interval of time=t−Δ1 and time=t−Δ1−Δ2.

Referring still to flowchart 400, as shown, the method begins at step402, in which the server 106 obtains and stores media signatures 128 formultiple live channels broadcasting media content 110, along withassociated identification program data. In step 404, the server 106broadcasts the signature chunks 126 for successive media time windowsfor each live channel, along with program data, in prioritized channelorder, although various other prioritizing schemes can be utilized, asdiscussed above. In step 405, the process server 106 queries ifadditional signature chunks 126 are available for broadcasting. If yes,then the process returns to step 404 and resumes broadcasting. If no,then the process ends at step 406. Step 404 can be reinitiated based onvarious criteria, such as a predetermined waiting period, or a specifictime marker, such as on the hour or half-hour, when programmingtypically changes on a channel. The broadcasting of signature chunks 126can be continuous as desired, such that whenever the mobile device 108seeks to connect to the broadcast of signature chunks 126, theinformation is available.

With reference to the mobile device 108, the client application 132 isstarted on the mobile device 108 in step 407. In addition, in step 407one or more input devices 210 of the mobile device 108 are utilized tocapture a media sample 134 from a program being viewed on the primarydevice 104. In step 408, the client application 132 generates one ormore data signatures 130 by analyzing the media sample 134. Afterobtaining the data signature 130, in step 410 the mobile device 108accesses the stream of signature chunks 126 that are broadcast from theserver 106. In at least some embodiments, the mobile device 108 canstart buffering broadcast signature chunks 126 even before obtaining thedata signatures 130. In step 412, the mobile device 108 receives thefirst signature chunk 126 from the server 106 with program data for themedia time windows centered around the current time. Further, in step412, upon receipt of at least one signature chunk 126, the mobile device108 attempts to match the data signature 130 with a portion of a mediasignature 128 from the signature chunk 126. In step 416, if a match isfound, then the process moves to step 418, where the additional programdata associated with the media signature 128 are provided to the user,thereby providing identification of the program that was viewed by theuser. Finally, the process ends at step 424. Further, other additionalprogram data can be included in addition to the program identification,such as cast information, episode details, etc.

If in step 416 a match was not found from the first analyzed signaturechunk 126, then the process moves to step 420, where a query is made toascertain if all signature chunks 126 have been received for allchannels currently broadcasting. If the answer is no, then the processreturns to step 412 to continue receiving signature chunks 126 andseeking a match for the data signature 130. If in step 420 it isdetermined that all signature chunks 126 have been received for allchannels currently broadcasting, then the process advances to step 422where the user is notified that the program cannot be matched and thento step 424 where the process ends. In at least some embodiments, if nomatch is found on the mobile device 108 at step 422, then the datasignature 130 can be uploaded to the server 106 for comparison to anexpanded scope of signature chunks 126 that can include expanded mediatime windows or programs.

A user can utilize the system to provide initial identification of mediacontent 110, and in addition, the system can be configured to continueto monitor for a change in the primary media content 112 being viewed.More particularly, when a user changes a channel for example, thechannel change can be detected and the information being provided to themobile device 108 can be updated to relate to the current primary media110 being viewed by the user. Upon successfully matching the datasignature 130 with a media signature 128, the mobile device 108 hassynchronized with the primary media content 112 on the primary device104. Once synchronized, the server 106 can send continuous or periodicmedia signatures 128 for a plurality of channels to the mobile device108. In broadcast mode, for example, the server 106 is continuouslysending out media signatures 128 for a plurality channels. To providecurrent data signatures 130 for the program being viewed, the mobiledevice 108 can obtain periodic audio-based or video-based media samples134 via the microphone 225 or the camera 227 and then generate updatedassociated data signatures 130. As noted above, the updated datasignatures 130 can be periodically or continuously compared with themedia signatures 128 to identify if the channel that was initiallydetected has been changed. To increase efficiency the updated datasignatures 130 are first compared with updated media signatures 128related to the initial channel detected. If no match is found, then thedata signatures 130 can be compared against the media signatures 128 forother channels to identify the new channel. If a new match is found,then the new program ID data, which can include related information suchas time-into-program, is provided to the user or to a server providingservices related to the program identified.

The television set and set-top box referenced above as primary devices104, in at least some embodiments, can additionally or alternativelyinclude software similar to the client application 132, which allows theprimary device 104 to interface with the communication system 100 in amanner as described above with reference to the mobile device 108. Inthis regard, a television set or set-top box can use the aforementionedmethods to identify the program being outputted by the television set orset-top box and provide continued monitoring and information updates.Program identification and associated services can be provided by themobile device 108 or the primary device 104.

In view of the many possible embodiments to which the principles of thepresent invention may be applied, it should be recognized that theembodiments described herein with respect to the drawing figures aremeant to be illustrative only and should not be taken as limiting thescope of the invention. Therefore, the invention as described hereincontemplates all such embodiments as may come within the scope of thefollowing claims and equivalents thereof.

What is claimed is:
 1. A method for presenting secondary contentassociated with media content, the method comprising: transmitting, froma mobile device to a server, a request for one or more portions ofsecondary media content, wherein the request indicates a time windowcorresponding to a media sample of a media content item being presentedon a media device; receiving, at the mobile device, the one or moreportions of secondary media content, wherein the one or more portions ofsecondary media content are relevant to the media content item beingpresented on the media device at the time window corresponding to themedia sample and at a time prior to when the media sample was obtained;and causing information associated with the one or more portions ofsecondary media content to be presented at the mobile device.
 2. Themethod of claim 1, wherein the information associated with the one ormore portions of secondary media content includes cast informationassociated with the media content item.
 3. The method of claim 1,wherein the information associated with the one or more portions ofsecondary media content includes episode details associated with themedia content item.
 4. The method of claim 1, wherein the request forone or more portions of secondary content is transmitted in response toa request received, at the mobile device, via a user interface presentedon the mobile device.
 5. The method of claim 1, further comprisingtransmitting, from the mobile device to a second server, identifyinginformation associated with the media content item, wherein the secondserver is configured to provide additional services related to the mediacontent item.
 6. The method of claim 1, further comprising: determiningthat presentation of media content has changed from the media contentitem to a second media content item; and in response to determining thatpresentation of the media content has changed from the media contentitem to the second media content item, determining identifyinginformation of the second media content item.
 7. The method of claim 1,further comprising: determining a signature associated with the mediacontent item being presented; and determining an identity of the mediacontent item based on the determined signature.
 8. A system forpresenting secondary content associated with media content, the systemcomprising: a memory; and a hardware processor that, when executingcomputer-executable instructions stored in the memory: transmits, from amobile device to a server, a request for one or more portions ofsecondary media content, wherein the request indicates a time windowcorresponding to a media sample of a media content item being presentedon a media device; receives the one or more portions of secondary mediacontent, wherein the one or more portions of secondary media content arerelevant to the media content item being presented on the media deviceat the time window corresponding to the media sample and at a time priorto when the media sample was obtained; and causes information associatedwith the one or more portions of secondary media content to be presentedat the mobile device.
 9. The system of claim 8, wherein the informationassociated with the one or more portions of secondary media contentincludes cast information associated with the media content item. 10.The system of claim 8, wherein the information associated with the oneor more portions of secondary media content includes episode detailsassociated with the media content item.
 11. The system of claim 8,wherein the request for one or more portions of secondary content istransmitted in response to a request received, at the mobile device, viaa user interface presented on the mobile device.
 12. The system of claim8, wherein the hardware processor further transmits, to a second server,identifying information associated with the media content item, whereinthe second server is configured to provide additional services relatedto the media content item.
 13. The system of claim 8, wherein thehardware processor further: determines that presentation of mediacontent has changed from the media content item to a second mediacontent item; and in response to determining that presentation of themedia content has changed from the media content item to the secondmedia content item, determines identifying information of the secondmedia content item.
 14. The system of claim 8, wherein the hardwareprocessor further: determines a signature associated with the mediacontent item being presented; and determines an identity of the mediacontent item based on the determined signature.
 15. A non-transitorycomputer-readable medium containing computer executable instructionsthat, when executed by a processor, cause the processor to perform amethod for presenting secondary content associated with media content,the method comprising: transmitting, from a mobile device to a server, arequest for one or more portions of secondary media content, wherein therequest indicates a time window corresponding to a media sample of amedia content item being presented on a media device; receiving, at themobile device, the one or more portions of secondary media content,wherein the one or more portions of secondary media content are relevantto the media content item being presented on the media device at thetime window corresponding to the media sample and at a time prior towhen the media sample was obtained; and causing information associatedwith the one or more portions of secondary media content to be presentedat the mobile device.
 16. The non-transitory computer-readable medium ofclaim 15, wherein the information associated with the one or moreportions of secondary media content includes cast information associatedwith the media content item.
 17. The non-transitory computer-readablemedium of claim 15, wherein the information associated with the one ormore portions of secondary media content includes episode detailsassociated with the media content item.
 18. The non-transitorycomputer-readable medium of claim 15, wherein the request for one ormore portions of secondary content is transmitted in response to arequest received, at the mobile device, via a user interface presentedon the mobile device.
 19. The non-transitory computer-readable medium ofclaim 15, wherein the method further comprises transmitting, from themobile device to a second server, identifying information associatedwith the media content item, wherein the second server is configured toprovide additional services related to the media content item.
 20. Thenon-transitory computer-readable medium of claim 15, wherein the methodfurther comprises: determining that presentation of media content haschanged from the media content item to a second media content item; andin response to determining that presentation of the media content haschanged from the media content item to the second media content item,determining identifying information of the second media content item.21. The non-transitory computer-readable medium of claim 15, wherein themethod further comprises: determining a signature associated with themedia content item being presented; and determining an identity of themedia content item based on the determined signature.